package com.itheima.boottlias.service;

import com.itheima.boottlias.domain.dto.LoginDTO;
import com.itheima.boottlias.domain.pojo.Emp;
import com.itheima.boottlias.domain.query.QueryParam;
import com.itheima.boottlias.domain.vo.LoginVO;
import com.itheima.boottlias.domain.vo.PageResult;

import java.util.List;

/**
 * 员工业务接口
 * @author ghy
 * @version 1.0
 * @since 2025-07-11 15:00
 */
public interface EmpService {

    /**
     * 分页查询
     * @param queryParam
     * @return
     */
    //PageResult<Emp> pageQuery(Integer page, Integer pageSize);
    // PageResult<Emp> pageQuery(Integer page, Integer pageSize, String name, Integer gender, LocalDate begin, LocalDate end);
    PageResult<Emp> pageQuery(QueryParam queryParam);

    /**
     * 新增员工及工作经历
     * @param emp 员工实体
     */
    void addEmpAndExprList(Emp emp) throws Exception;

    /**
     * 根据ID批量删除员工和员工工作经历
     * @param ids
     */
    void deleteByIds(Integer[] ids) throws Exception;

    /**
     * 根据ID查询员工信息及工作经历信息
     * @param id
     * @return
     */
    Emp findById(Integer id);

    /**
     * 修改员工信息及工作经历信息
     * @param emp
     */
    void update(Emp emp);

    List<Emp> list();

    /**
     * 登录
     * @param loginDTO
     * @return
     */
    LoginVO login(LoginDTO loginDTO);
}
